package com.yuan.leetcode.JianZhiOffer;


/**
 * Created by yuanhaowu
 * Time 2022/6/11 13:07
 *
 * 给定单向链表的头指针和一个要删除的节点的值，定义一个函数删除该节点。
 *
 * 返回删除后的链表的头节点。
 */
public class offer18 {
    public ListNode deleteNode(ListNode head, int val) {
        if(head == null){
            return head;
        }
        ListNode p = head, pre = null;
        while(p!=null){
            if(p.val == val){
                if(pre!=null){
                    pre.next = p.next;
                }else {
                    head = p.next;
                }
                break;
            }else {
                pre = p;
                p = p.next;
            }
        }
        return head;
    }
}
